<?php

/**
 * ErrorController
 * 
 * Обработчик ошибок
 * 
 * @package   Basic
 * @author    Игорь Будасов aka Lord <igor.budasov@gmail.com> 
 * @copyright Игорь Будасов aka Lord <igor.budasov@gmail.com> 
 */
 
class ErrorController extends Lord_Controller_Action 
{
	
/*------------------------------------------------------------------------------*/

	/**
	 * Обработка ошибки 404 либо 500
	 */
	 
	public static function errorAction(Exception $exception) 
	{

		$errors = $this->_getParam('error_handler');

		switch ($errors->type) 
		{
			case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
			case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
				// Ошибка 404 - не найден контроллер или действие
				$this->getResponse()->setRawHeader('HTTP/1.1 404 Not Found');
				$errorMsg = $this->view->translate('system_404');
				break;
			default:
				// Ошибка приложения
				$errorMsg = 'System error. Please try later';//$this->view->translate('system_error');
				break;
		}

		// Удаление добавленного ранее содержимого
		$this->getResponse()->clearBody();

		$this->view->content = $errorMsg;

	}
	
/*------------------------------------------------------------------------------*/

}

